#ifndef NANE_TEMPLATE_FRIEND_H
#   define  NANE_TEMPLATE_FRIEND_H

// 
//  MinGW (old gcc) template friend declaration workaround
//

namespace nane 
{
    template<class C>
    struct friendType
    {
        typedef C type;
    };
    
#if _MSC_VER
#   define template_friend(F) friend friendType<F>::type
#else
#   define template_friend(F) friend class friendType<F>::type
#endif
    
}   // namespace nane

#endif	// NANE_TEMPLATE_FRIEND_H
